package com.it.dao;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.it.pojo.Article;
import com.it.pojo.vo.article.ArticleByUserIdVO;
import com.it.pojo.vo.article.ArticlePlateVO;
import com.it.pojo.vo.article.ArticleVO;
import org.apache.ibatis.annotations.Param;

import java.util.List;

public interface ArticleMapper extends BaseMapper<Article> {

    ArticleVO getArticletVO(@Param("articleId") Integer articleId);

    /**
     * 通过板块的id获取有多少篇article
     *
     * @param plateId
     * @return
     */
    Integer getArticleTotalByPlate(@Param("plateId") Integer plateId);

    /**
     * 通过板块id，获取到相关article的信息
     *
     * @param plateId
     * @return
     */
    List<ArticlePlateVO> getArticleVOByPlateId(Integer plateId);

    /**
     * 通过用户id 获取到这个用户有多少篇帖子
     *
     * @param userId
     * @return
     */
    Integer getArticleTotalByUserId(@Param("userId") Integer userId);

    /**
     * 通过用户id获取到空间  喵街的信息
     *
     * @param userId
     * @return
     */
    List<ArticleByUserIdVO> getArticleVOByUserId(@Param("userId") Integer userId);

    /**
     * 首页帖子数据
     *
     * @return
     */
    List<ArticleByUserIdVO> getArticleVODesc(@Param("start") Integer start, @Param("limit") Integer limit);

    /**
     * 获取本周的热门帖子
     *
     * @return
     */
    List<Article> listArticleHot();
}


